1. Field of the Invention
The present invention relates to an apparatus and a method for managing shared system resources provided in a particular computer system among a plurality of computer systems connected together through a network such as LAN (local area network).
More specifically, when the above-mentioned computer system consists of a plurality of machines including a variety of executable units (here, the executable units include processes, jobs, etc.) for executing input/output processes and editing, the invention relates to a method of clarifying the use of shared system resources (hereinafter referred to as shared resources) among these machines, e.g., refers to a method of clarifying the use of shared files in a data storage unit by an executable unit in a given machine, in order to efficiently execute the process for locking the shared files.
Here, the locking process stands for inhibiting access to the shared files by other executable units by clarifying the fact that a given executable unit is now using part or all of the shared files, in order to prevent the contents of the shared files from being destroyed when the shared files provided in a given machine are simultaneously accessed by two or more executable units in other machines.
2. Description of the Related Art
Here, problems inherent in a conventional method of managing system resources will be described with reference to FIGS. 1 to 2B together with the constitution (i.e., structure) and operation of a conventional apparatus for managing system resources.
FIGS. 1, 2A and 2B are diagrams illustrating the constitution of a conventional apparatus for managing system resources. More specifically, FIG. 1 is a block diagram illustrating a first example of a conventional apparatus for managing system resources, and FIGS. 2A and 2B are block diagrams illustrating the former half portion and the latter half portion of a second example of a conventional apparatus for managing system resources. Here, in particular, these drawings illustrate the constitution of the device for managing the input/output process and the locking process of the shared resources such as shared files that are used in common by a plurality of executable units on a plurality of computer systems.
In FIGS. 1 to 2B, a plurality of computer systems are represented by computer systems 100-1, 100-2 and 100-3 corresponding to three kinds of machines, which are connected together through a network L such as LAN or the like. Among these computer systems, a particular computer system (e.g., computer system 100-1) is provided with a data storage unit 2 which may be a disk device or the like device for storing data in advance. The data storage unit 2 in the computer system 100-1 is shared by other computer systems 100-2 and 100-3 through the network L.
In further detail, the data storage unit 2 includes shared resources 3 such as shared files that can be used in common by various executable units of the plurality of computer systems 100-1, 100-2 and 100-3. The input/output process and the locking process for the shared resources 3 in the data storage unit 2 are executed by sending a request to an input/output processing unit 5 or to a locking processing unit 6 provided in a resource managing unit (e.g., file managing unit) 4 that has a function for managing the shared resources 3 in the computer system 100-1.
In the first conventional constitution shown in FIG. 1, the computer system 100-1 contains processes E2 and E3 which are executable units, the computer system 100-2 contains a process C2 which is an executable unit, and the computer system 100-3 contains a process C3 which is an executable unit.
An input/output process requesting unit 7 and a locking process requesting unit 8 in the process E2 request the input/output processing unit 5 and the locking processing unit 6 in the shared resource managing unit 4 in the computer system 100-1 to which the process E2 belongs to execute the input/output process for the shared resources 3 and to execute the process for locking the shared resources 3. Furthermore, the input/output processing unit 5 and the locking processing unit 6 in the shared resource managing unit 4 receive, from the input/output process requesting unit 7-2 and the locking process requesting unit 8-2 in the process C2 in the computer system 100-2, the requests for executing the input/output process and the locking process for the shared resources 3.
Similarly, an input/output process requesting unit 7-1 and a locking process requesting unit 8-1 in the process E3 request the input/output processing unit 5 and the locking processing unit 6 in the shared resource managing unit 4 in the computer system 100-1 to which the process E3 belongs to execute the input/output process for the shared processes 3 and the process for locking the shared resources 3. Furthermore, the input/output processing unit 5 and the locking processing unit 6 in the shared resource managing unit 4 receive, from the input/output requesting unit 7-3 and the locking process requesting unit 8-3 in the process C3 in the computer system 100-3, the requests for executing the input/output process for the shared resources 3 and the process for locking the shared resources 3.
According to the system resource managing apparatus of FIG. 1 as described above, requests for input/output process and locking process for the shared resources 3 from other computer systems (e.g., computer systems 100-2, 100-3) are accepted using processes (e.g., processes E2, E3) in the computer system 100-1 in which the shared resources 3 exist, the processes corresponding to the processes (e.g., processes C2, C3) of other computer systems.
Next, in the second conventional constitution shown in FIGS. 2A and 2B, the computer system 100-1 (FIG. 2A) contains a process F, a process G and a process Cl which are executable units, the computer system 100-2 (FIG. 2B) contains a process C2 as in the case of FIG. 1, and the computer system 100-3 (FIG. 2B) contains a process C3 as in the case of FIG. 1. Here, the number of the process F in the computer system 100-1 may be one or more.
In FIGS. 2A and 2B, the process F in the computer system 100-1 receives requests for input/output process for the shared resources 3 sent from an input/output process requesting unit 7-2 of the process C2 and from an input/output process requesting unit 7-3 of the process C3 through the network L. Furthermore, the input/output process requesting unit 7 in the process F requests the resource managing unit 4 to execute the input/output process for the shared resources 3.
Moreover, the process G in the computer system 100-1 of FIG. 2A receives requests for locking the shared resources 3 that are sent from a locking process requesting unit 8-2 in the process C2 of FIG. 2B and from a locking process requesting unit 8-3 in the process C3 through the network L. Besides, the process G does not request the resource managing unit 4 in the computer system 100-1 to lock the shared resources 3, but executes exclusive control inside the process G only by using a unit 21 that receives requests for locking processes inside the process G (i.e., a receiving unit 21 of locking process requests inside the process G).
However, when the input/output process and locking process for the shared resources 3 are realized as a single executable unit, for example, as a single process as in the first conventional example (FIG. 1), it is not allowed to execute the input/output process and the locking process in parallel, and the processing efficiency decreases in the computer system. Moreover, since the process for the request of input/output process and the process for the request of locking process are executed through the single process, there occurs a problem in that the structure of the system resource managing apparatus becomes complex.
As shown in FIGS. 2A and 2B, furthermore, when the process F for receiving the request for input/output process for the shared resources 3 and the process G for receiving the request for locking process are divided into independent processes in order to execute the exclusive control by the process G only, the request of locking process for the shared resources 3 is not sent to the resource managing unit 4. Therefore, a problem arises in that the request for locking process is invalidated among the process C1 in the computer system 100-1, the process C2 in the computer system 100-2, and the process C3 in the computer system 100-3.
It can be contrived that the locking process requesting unit (not shown in FIG. 2A) of the process G requests the resource managing unit 4 to execute the locking process upon receiving the request for locking process from the locking process requesting unit 8-2 of the process C2 in the computer system 100-2, so that the request for locking process is validated with respect to the process C1 in the computer system 100-1. In this case, however, the request for locking process by the process G limits the request for input/output process sent to the resource managing unit 4 from the input/output process requesting unit 7 of the process F depending upon the request for input/output process from the input/output process requesting unit 7-2 of the process C2. If it is attempted to avoid the limitation on the request for input/output process of the process F, then, the process G becomes no longer capable of sending to the resource managing unit 4 the request for locking process for the shared resources 3. As a result, there still remains a problem in that the request for locking process is invalidated among the process in the computer system 100-1, and processes C2 and C3 in other computer systems 100-2, 100-3.